home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 2.iso / STUTTGART / EDITORS / HTMACROL / !HTMacroL / !RunImage (.txt) < prev    next >
RISC OS BBC BASIC V Source  |  1996-01-22  |  8KB  |  406 lines

  1.  HTML Macro Tool
  2.  By R. Goodwin
  3. " at line ";
  4. Task$="HTMacroL"
  5. ouricon$="!htmacrol"
  6. vno$="1.02"
  7. setupwindows
  8.  quit
  9. templen=4096
  10. worklen=4096
  11.  main templen
  12.  mainwork worklen
  13.  info templen
  14.  infowork worklen
  15.  mainblock 256
  16.  block 256
  17.  "Wimp_Initialise",200,&4B534154,Task$ 
  18.  ,taskhandle
  19.  "Wimp_OpenTemplate",,"HTMacroL:Templates"
  20.  "Wimp_LoadTemplate",,main,mainwork,mainwork+worklen,-1,"Main",0
  21.  "Wimp_LoadTemplate",,info,infowork,infowork+worklen,-1,"info",0
  22.  "Wimp_CloseTemplate"
  23. quit=0
  24. definemacros
  25. setupwindows
  26.  "Wimp_CreateWindow",,main 
  27.  mainhandle
  28.  "Wimp_CreateWindow",,info 
  29.  infohandle
  30. iconbar
  31. openmain
  32. !mainblock=mainhandle
  33.  "Wimp_GetWindowState",,mainblock
  34. openwindow(mainblock)
  35.  "Wimp_Poll",0,block 
  36.  reason
  37.  reason 
  38.  2 : 
  39. openwindow(block)
  40.  3 : 
  41. closewindow(block)
  42.  6 : 
  43. mouseclick(block)
  44.  9 : 
  45. menuselect(block)
  46.  17,18 : 
  47. message(block)
  48. openwindow(b)
  49.  "Wimp_OpenWindow",,b
  50. closewindow(b)
  51.  "Wimp_CloseWindow",,b
  52.  "Wimp_CloseDown"
  53. iconbar
  54. !mainblock=-1
  55. mainblock!4=0
  56. mainblock!8=0
  57. mainblock!12=68
  58. mainblock!16=68
  59. mainblock!20=&0000201A
  60. $(mainblock+24)=ouricon$
  61.  "Wimp_CreateIcon",,mainblock 
  62.  iconbarhandle
  63. mouseclick(bl)
  64.  bl!12=-2 
  65. oniconbar
  66.  bl!12=mainhandle 
  67. clickonmain
  68. oniconbar
  69.  (bl!8 
  70.  4)<>0 
  71.  bl!16=iconbarhandle 
  72. openmain
  73.  (bl!8 
  74.  1)<>0 
  75.  bl!16=iconbarhandle 
  76. openwinright
  77.  (bl!8 
  78.  2)>0 
  79.  bl!16=iconbarhandle 
  80. makeiconmenu(!bl-64,176)
  81. clickonmain
  82.  (bl!8 
  83.  4)=1 
  84. closewindow(mainblock)
  85. temp$=""
  86.  bl!16 
  87.  00 : temp$=mail$
  88.  01 : temp$=footer$
  89.  02 : temp$=header$
  90.  03 : temp$=image$
  91.  04 : temp$=cap$
  92.  05 : temp$=link$
  93.  06 : temp$=endlink$
  94.  07 : temp$=goname$
  95.  08 : temp$=aname$
  96.  09 : temp$=italic$
  97.  10 : temp$=noitalic$
  98.  11 : temp$=bold$
  99.  12 : temp$=nobold$
  100.  13 : temp$=quote$
  101.  14 : temp$=noquote$
  102.  15 : temp$=bigtext$
  103.  16 : temp$=nobigtext$
  104.  17 : temp$=h1on$
  105.  18 : temp$=h1off$
  106.  19 : temp$=h2on$
  107.  20 : temp$=h2off$
  108.  21 : temp$=h3on$
  109.  22 : temp$=h3off$
  110.  23 : temp$=h6on$
  111.  24 : temp$=h6off$
  112.  25 : temp$=break$
  113.  26 : temp$=paragraph$
  114.  27 : temp$=pound$
  115.  28 : temp$=copy$
  116.  29 : temp$=reg$
  117.  30 : temp$=trade$
  118.  31 : temp$=middot$
  119.  32 : temp$=half$
  120.  33 : temp$=quarter$
  121.  34 : temp$=quarter3$
  122.  35 : temp$=div$
  123.  36 : temp$=times$
  124.  37 : temp$=sup1$
  125.  38 : temp$=sup2$
  126.  39 : temp$=sup3$
  127.  40 : temp$=degree$
  128.  41 : temp$=plusminus$
  129.  42 : temp$=less$
  130.  43 : temp$=more$
  131.  44 : temp$=char1$
  132.  45 : temp$=char2$
  133.  46 : temp$=char3$
  134.  47 : temp$=rule$
  135.  48 : temp$=bar$
  136.  49 : temp$=address$
  137.  50 : temp$=center$
  138.  51 : temp$=nocenter$
  139. push(temp$)
  140. dispmess(A$)
  141. getIS(3)
  142. mainblock!8=0
  143. mainblock!12=0
  144. add=!(mainblock+28)
  145. $(add)=A$
  146.  "Wimp_SetIconState",,mainblock
  147. select(icon)
  148. getIS(icon)
  149. "=(?(mainblock+8+16+2) 
  150.  32)<>0
  151. getIS(icon)
  152. mainblock!0=mainhandle
  153. mainblock!4=icon
  154.  "Wimp_GetIconState",,mainblock
  155. message(block)
  156.  block!16=0 
  157.  quit=-1
  158. makeiconmenu(X,Y)
  159. $mainblock="HTMacroL"+
  160. mainblock?12=7
  161. mainblock?13=2
  162. mainblock?14=7
  163. mainblock?15=0
  164. mainblock!16=128
  165. mainblock!20=40
  166. mainblock!24=0
  167. mainblock!28=0
  168. mainblock!32=infohandle
  169. mainblock!36=&07009011
  170. $(mainblock+40)="Info"
  171. mainblock!52=128
  172. mainblock!56=0
  173. mainblock!60=&07009011
  174. $(mainblock+64)="Quit"
  175.  "Wimp_CreateMenu",,mainblock,X,Y
  176. menuselect(bl)
  177.  !bl=1 
  178.  quit=-1
  179. openwinright
  180.  w%,h%
  181. !mainblock=mainhandle
  182.  "Wimp_GetWindowState",,mainblock
  183. w%=mainblock!12-mainblock!4
  184. h%=mainblock!16-mainblock!8
  185. .mainblock!4=(
  186. modevar(11)<<
  187. modevar(4))-w%
  188. .mainblock!8=(
  189. modevar(12)<<
  190. modevar(5))-h%
  191. ,mainblock!12=(
  192. modevar(11)<<
  193. modevar(4))
  194. ,mainblock!16=(
  195. modevar(12)<<
  196. modevar(5))
  197. mainblock!20=0
  198. mainblock!24=0
  199. mainblock!28=-1
  200.  "Wimp_OpenWindow",,mainblock
  201. modevar(var%)
  202.  "OS_ReadModeVariable",-1,var% 
  203.  ,,res%
  204.     =res%
  205. definemacros
  206. >header$="<html><head><title>no title</title></head><body>"
  207. footer$="</body></html>"
  208. address$=""
  209. Tmail$="<a href="+
  210. (34)+"mailto:mabel@argonet.co.uk"+
  211. (34)+">Richard Goodwin</a>"
  212. %image$="<img border=0 src="+
  213. bar$=""
  214. rule$="<P><HR><P>"
  215. cap$=
  216. (34)+">"
  217. link$="<a href="+
  218. endlink$="</a>"
  219.  goname$="<a href="+
  220. (34)+"#"
  221. aname$="<a name="+
  222. center$="<center>"
  223. nocenter$="</center>"
  224. italic$="<I>"
  225. noitalic$="</I>"
  226. bold$="<B>"
  227. nobold$="</B>"
  228. quote$="<blockquote>"
  229. noquote$="</blockquote>"
  230. 6bigtext$="<basefont size=""3""><font size=""+2"">"
  231. nobigtext$="</font>"
  232. h1on$="<center><h1>"
  233. h1off$="</h1></center>"
  234. h2on$="<h2>"
  235. h2off$="<h2>"
  236. h3on$="<h3>"
  237. h3off$="</h3>"
  238. h6on$="<h6>"
  239. h6off$="</h6>"
  240. break$="<br>"
  241.  paragraph$=
  242. (10)+"<p>"+
  243. pound$="£"
  244. copy$="©"
  245. reg$="®"
  246. trade$="™"
  247. middot$="·"
  248. half$="½"
  249. quarter$="¼"
  250. quarter3$="¾"
  251. div$="÷"
  252. times$="×"
  253. sup1$="¹"
  254. sup2$="²"
  255. sup3$="³"
  256. degree$="°"
  257. plusminus$="±"
  258. less$="<"
  259. more$="&RT;"
  260. char1$="é"
  261. char2$="á"
  262. char3$="Ø"
  263. loadmacros
  264. loadmacros
  265.  LOCAL ERROR: ON ERROR CLOSE#0:ENDPROC
  266. "OS_File",5,"HTMacroL:User" 
  267.  check%
  268.  check%=0 
  269. "HTMacroL:User"
  270. var$=""
  271. char=
  272.  char>96 
  273.  char<123 
  274.  char-=32
  275.  char<>
  276.  char<>10 
  277.  char<>13 
  278.  char<>32 
  279.  char<>0 
  280.  var$=var$+
  281. (char)
  282.  char=
  283. macro$=""
  284. char=
  285.  char=92 
  286.  macro$=macro$+
  287.  char<>10 
  288.  char<>13 
  289.  char<>
  290.  macro$=macro$+
  291. (char)
  292.  char=10 
  293.  char=13 
  294.  var$ 
  295.  "HEAD": 
  296.  header$=macro$
  297.  "FOOT": 
  298.  footer$=macro$
  299.  "ADDR": 
  300.  address$=macro$
  301.  "MAIL": 
  302.  mail$=macro$
  303.  "IMAGE": 
  304.  image$=macro$
  305.  "BAR": 
  306.  bar$=macro$
  307.  "RULE": 
  308.  rule$=macro$
  309.  "CAP": 
  310.  cap$=macro$
  311.  "LINK": 
  312.  link$=macro$
  313.  "ENDLK": 
  314.  endlink$=macro$
  315.  "GONAME": 
  316.  goname$=macro$
  317.  "CENTER": 
  318.  center$=macro$
  319.  "NOCENT": 
  320.  nocenter$=macro$
  321.  "NAME": 
  322.  aname$=macro$
  323.  "ITAL": 
  324.  italic$=macro$
  325.  "NOITAL": 
  326.  noitalic$=macro$
  327.  "BOLD": 
  328.  bold$=macro$
  329.  "NOBOLD": 
  330.  nobold$=macro$
  331.  "QUOTE": 
  332.  quote$=macro$
  333.  "NOQUOTE": 
  334.  noquote$=macro$
  335.  "BIGTEXT": 
  336.  bigtext$=macro$
  337.  "NOBIG": 
  338.  nobigtext$=macro$
  339.  "H1ON": 
  340.  h1on$=macro$
  341.  "NOH1": 
  342.  h1off$=macro$
  343.  "H2ON": 
  344.  h2on$=macro$
  345.  "NOH2": 
  346.  h2off$=macro$
  347.  "H3ON": 
  348.  h3on$=macro$
  349.  "NOH3": 
  350.  h3off$=macro$
  351.  "H6ON": 
  352.  h6on$=macro$
  353.  "NOH6": 
  354.  h6off$=macro$
  355.  "BREAK": 
  356.  break$=macro$
  357.  "PARA": 
  358.  paragraph$=macro$
  359.  "POUND": 
  360.  pound$=macro$
  361.  "COPY": 
  362.  copy$=macro$
  363.  "REG": 
  364.  reg$=macro$
  365.  "TRADE": 
  366.  trade$=macro$
  367.  "DOT": 
  368.  middot$=macro$
  369.  "HALF": 
  370.  half$=macro$
  371.  "1/4": 
  372.  quarter$=macro$
  373.  "3/4": 
  374.  quarter3$=macro$
  375.  "DIV": 
  376.  div$=macro$
  377.  "TIMES": 
  378.  times$=macro$
  379.  "SUP1": 
  380.  sup1$=macro$
  381.  "SUP2": 
  382.  sup2$=macro$
  383.  "SUP3": 
  384.  sup3$=macro$
  385.  "DEG": 
  386.  degree$=macro$
  387.  "+/-": 
  388.  plusminus$=macro$
  389.  "LESS": 
  390.  less$=macro$
  391.  "MORE": 
  392.  more$=macro$
  393.  "CHAR1": 
  394.  char1$=macro$
  395.  "CHAR2": 
  396.  char2$=macro$
  397.  "CHAR3": 
  398.  char3$=macro$
  399. push(temp$)
  400. (temp$)=0 
  401.  X=1 
  402. (temp$)
  403. character=
  404. temp$,X,1))
  405. "OS_Byte",138,0,character
  406.